/**
 * 字符串相关的工具
 */
export default {
    /**
     * 判断是否为空，空格也算为空
     * @param val
     * @return boolean 不为空 true， false 为空
     */
    isNotBlank: function (val) {
        if (!val) {
            return false;
        }
        return val.replace(/(^s*)|(s*$)/g, "").length !== 0;
    },
    /**
     * 判断是否为空，包含空格
     * @param val
     * @return boolean 不为空false, 为空 true
     */
    isEmpty: function (val) {
        return !this.isNotBlank(val);
    },
    /**
     * 判断字符串是否是以某个字符串开头
     * @param source 原字符串
     * @param start 开始字符传
     */
    isStartWith: function (source, start) {
        if (!source || !start) {
            return false;
        }
        return source.substr(0, start.length) === start;
    },
    /**
     * 判断字符串是否以某个字符串结束
     * @param source 原字符串
     * @param end 结束字符传
     */
    isEndWith: function (source, end) {
        if (!source || !end) {
            return false;
        }
        return source.substr(source.length - end.length) === end;
    },
    /**
     * 字符串是否包含子串
     * @param source 字符串
     * @param sub 子串
     * @returns {boolean}
     */
    constains: function (source, sub) {
        if (!source || !sub) {
            return false;
        }
        return source.indexOf(sub) !== -1;
    },
    /**
     * 移除字符串中的特殊字符(特殊字符包含:.*+?^=!:${}()'"“‘%|[]/\)
     * @param val 字符串
     */
    removeSpecialChar(val) {
        return val.replace(/([.*+?^=!:${}()'"“‘%|[\]\/\\])/gm, "");
    }
}